package com.cyw.system.domain.bo;

import com.cyw.common.core.domain.BaseEntity;
import com.cyw.common.core.validate.AddGroup;
import com.cyw.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 话题业务对象 tb_topic
 *
 * @author myproject
 * @date 2022-11-23
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("话题业务对象")
public class TbTopicBo extends BaseEntity {

    /**
     * id
     */
    @ApiModelProperty(value = "id", required = true)
    @NotNull(message = "id不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 话题名
     */
    @ApiModelProperty(value = "话题名", required = true)
    @NotBlank(message = "话题名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String topicName;

    /**
     * 话题首图地址
     */
    @ApiModelProperty(value = "话题首图地址", required = true)
    @NotBlank(message = "话题首图地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String imageUrl;

    /**
     * 话题人数
     */
    @ApiModelProperty(value = "话题人数", required = true)
    private Long userCount;

    /**
     * 话题描述
     */
    @ApiModelProperty(value = "话题描述", required = true)
    @NotBlank(message = "话题描述不能为空", groups = { AddGroup.class, EditGroup.class })
    private String topicDesc;

    /**
     * 话题类型
     */
    @ApiModelProperty(value = "话题类型", required = true)
    private String topicType;


}
